#ifndef RGBDCamera_H_
#define RGBDCamera_H_
//OpenCV
#include "cv.h"
#include "highgui.h"

//Other
#include <stdio.h>
#include <string.h>
#include "RGBDFrame.h"

#include "cvap_6D_slam/kinect_data.h"

using namespace std;

class RGBDFrame;

class RGBDCamera
{
	public:
		float focal_length_x;
		float focal_length_y;
		float optical_center_x;
		float optical_center_y;
	
		int nr_frames;
		int current_frame_number;
		RGBDCamera();
		~RGBDCamera();
		RGBDFrame * getFrame(int i);
		RGBDFrame * getNextFrame();
		RGBDFrame * getCurrentFrame();
		RGBDFrame * getPreviousFrame();
		RGBDFrame * getLastFrame();
		RGBDFrame * getFirstFrame();
		void print();
		void addFrame(const cvap_6D_slam::kinect_data::ConstPtr& msg);
		string ** rgb_list;
		string ** depth_list;
		double * timings;
};

#endif
